package ar.edu.utn.frgp.TPFinalBanco.dao.impl;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import ar.edu.utn.frgp.TPFinalBanco.dao.PrestamoDao;
import ar.edu.utn.frgp.TPFinalBanco.model.Prestamo;

public class PrestamoDaoImpl extends HibernateDaoSupport implements PrestamoDao {

	public void create(Prestamo obj) {
		Session session = getHibernateTemplate().getSessionFactory()
				.getCurrentSession();
		session.save(obj);
	}

	public void update(Prestamo obj) {
		Session session = getHibernateTemplate().getSessionFactory()
				.getCurrentSession();
		session.update(obj);
	}
	
	public List<Prestamo> getPrestamoSinPagar(String dni){
		
		DetachedCriteria criteria = DetachedCriteria.forClass(Prestamo.class);
	     criteria.add(Restrictions.eq("dni",dni));
	     criteria.add(Restrictions.eq("estado",false));
		return (List<Prestamo>) getHibernateTemplate().findByCriteria(criteria);
		
	}
	
	public Prestamo getPrestamo(Integer idPrestamo) {
		Session session = getHibernateTemplate().getSessionFactory()
				.getCurrentSession();
		Prestamo prestamo = (Prestamo) session.get(Prestamo.class, idPrestamo); 
		return prestamo;
	}

	public Prestamo getPrestamo(String dni) {
		
		//hibernateTemplate.getSessionFactory().getCurrentSession();		
		//session.createCriteria(Prestamo.class).add( Restrictions.eq("dni", dni ) ).add(Restrictions.eq("estado", false ));
		//return getHibernateTemplate().findByCriteria(criteria);
		//Prestamo prestamo = (Prestamo) getHibernateTemplate().findByCriteria(criteria); 
		return null;
	}

	public void delete(Prestamo obj) {
		// TODO Auto-generated method stub

	}

	public List<Prestamo> getAll() {
		return null;
	}


}
